This page describes the various categories of classes available in Tools.h++.
From here, you can also access:
A complete library of collection classes, modeled after the Smalltalk-80 programming environment: Set, Bag, Ordered-Collection, Sorted-Collection, Dictionary, Stack, Queue, etc. All classes support isomorphic persistence allowing not only objects to be stored, but also their structure. An object need only inherit from the abstract base class RWCollectable to make full use of this power.
Allow objects to be stored in any arbitrary format. Binary and a portable ASCII format are supplied.
A Set may be converted to a Bag. An Ordered-Collection may be converted to a Sorted Collection, etc.
Efficient keyed access of disk records, including objects, using B-Trees.
Stacks, Queues, Vectors, and Singly-and Doubly-linked lists. Uses <generic.h>, so classes are portable even to compilers that do not support templates.
Allocates, de-allocates and coalesces free space within a file.
A full suite of operators and functions for concatenation, comparison, and indexing of string (with optional bounds checking). A SubString class for non-conformal extraction and assignment to sub-strings.
The powerful and efficient string class uses copy-on-write. An actual copy of the string is made only when absolutely necessary, resulting in reduced overhead.
Search for matching regular expressions.
Makes string parsing easy.
Our date and time classes can quickly answer such questions as: "What date is the first Sunday of any given month? What is the date 27 days from today?"
Now you can work with arrays of up to 2 GBytes in size under DOS and Windows! The virtual array automatically works through a buffered page heap and swaps itself out to disk as necessary.
Maintains an abstract "page heap" of fixed pages. The "page heap" can also be buffered to minimize the access to the physical paging device.
Specialized version of a buffered page heap where pages are swapped to a buffered disk file.
This class can be used as a stop/start timer. It works in CPU-time to measure durations. The increment of time will depend on the operating system (typically 1/18 sec for DOS machines and 1 msec for Unix machines).
Can be used with the timer class to benchmark your code. This class has built-in reporting functions and options to compensate for the overhead of looping operations.
Templates are a general description of a family of related classes which can then be expanded for a specific class. This allows tight and consistent type checking of objects, as well as code that is very efficient.
We have template versions of the following classes:
BIT VECTORS, CACHE MANAGERS, ERROR HANDLING CLASSES, ITERATORS, AND MANY MORE!